"""
入口文件层：
1、pytest.main : 自动发现和执行所有的用例
2、日志持久化-写到日志文件里去
3、生成测试报告- allure 包
 - 生成html的allure报告 :allure serve .\allure_result\

"""

import pytest
from loguru import logger
from common.handle_path import log_path,report_path
import sys

# 日志持久化 写到日志文件
logger.add(sink=log_path ,
           encoding="UTF8",
           level="INFO",
           rotation="10MB",
           retention=20)

# 通过sys.argv 接受命令行参数 获取到参数，并赋值给一个变量
# 约定这个参数传递的顺序 -- readme文档
# 问题： 只能通过命令行执行，不能再通过run运行  因为run不带参数 取不到1索引参数。
try:
    env_param = sys.argv[1]
except Exception as e:
    env_param = "test"

# allure测试报告的生成
# pytest.main(["-s","-v",f"--alluredir={report_path}","--clean-alluredir","-m p1","--reruns","2"])
pytest.main(["-s","-v",f"--alluredir={report_path}","--clean-alluredir","-m p1",f"--env={env_param}"])
# 在pytest的参数里 进行命令参数传递切换环境的数据的参数化。
